<?php
/**
 * PrynLib
 * @copyright 2007-2009 Prynel
 * @author Olivier ROGER <roger.olivier@gmail.com>
 * @category libPrynel
 * @package Log
 * @version $Revision: 104 $
 */

/**
 * Class d'écriture de log dans les fichiers
 * 
 * @package Log
 * @subpackage Log_Writer
 * @version 1.0.0 
 * @author Olivier ROGER <roger.olivier@gmail.com>
 * @copyright  2007-2009 Prynel
 *       
 */
class Log_Writer_File extends Log_Writer_Abstract
{
	private $folder;
	
	public function __construct($path)
	{
		if(!is_dir($path) || !is_writable($path))
			throw new Util_ExceptionHandler('Le dossier spécifié n\'existe pas ou n\'est pas ouvert en écriture');
		else
		{
			if($path[strlen($path)-1] != '/')
				$path.='/';
		}
		$this->folder = $path;
	}
	/**
	 * Log du message
	 *
	 * @param string $message
	 * @param string $level
	 * @access public
	 */
	protected function _write($message,$level)
	{
		$prefixe 		= ($this->mode == self::MODE_MINI)?'':'['.date("d/m/Y - H:i:s").'] ('.$level.') ';
		
		$file 			= $level.'.log';
		$prefixe_file 	= $this->getPrefixe();
			
		$fichier 		= new File_FileManager($this->folder.$prefixe_file.$file);
		$fichier->open(File_FileManager::ADD);
		$fichier->writeLine($prefixe.$message);
		$fichier->close();
	}

}
 ?>